home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Game-Power
/
Amiga Game-Power.iso
/
pd mix ii
/
access
/
hddriver
/
driver
/
hash.c
< prev
next >
Wrap
C/C++ Source or Header
|
1994-05-20
|
695b
|
51 lines
#include <exec/types.h>
#define SIZE(bits) ((((bits)+31L)/32L)*4L)
extern APTR AllocMem ();
ULONG *
NewHashTable ( size )
ULONG size;
{
ULONG *table;
table = (ULONG *) AllocMem ( SIZE ( size ) , (LONG)MEMF_CLEAR );
if ( table != NULL )
*table = size;
return ( table );
}
void
FreeHashTable ( table )
ULONG *table;
{
FreeMem ( table , SIZE ( *table ) );
}
void
AddHashTable ( table , num )
ULONG *table;
ULONG num;
{
LONG bit;
bit = num % *table + 32;
table[ bit >> 5L ] |= ( 1L << ( bit & 31L ) );
}
ULONG
TestHashTable ( table , num )
ULONG *table;
ULONG num;
{
LONG bit;
bit = num % *table + 32;
return ( ( table[ bit >> 5L ] & ( 1L << ( bit & 31L ) ) ) ? 1 : 0 );
}